package com.bdqn.bookshop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bdqn.bookshop.entity.Notice;
import com.bdqn.bookshop.utils.DataGridViewResult;
import com.bdqn.bookshop.utils.Result;
import com.bdqn.bookshop.vo.NoticeVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface NoticeService extends IService<Notice> {
    /**
     * 添加公告
     * @param notice
     * @return
     */
    Result addNotice(Notice notice, HttpServletRequest request);

    /**
     * 修改公告
     * @param notice
     * @return
     */
    Result updateNotice(Notice notice);

    /**
     * 删除公告
     * @param id
     * @return
     */
    Result deleteById(Integer id);

    /**
     * 批量删除公告
     * @param ids
     * @return
     */
    Result batchDelete(String ids);

    /**
     * 查询公告
     * @param noticeVo
     * @return
     */
    DataGridViewResult noticeList(NoticeVo noticeVo);

    /**
     * 获取公告数据的时间集合(年-月)
     * @return
     */
    List<String> lifePeriod();

    /**
     * 获取5条最新公告
     * @return
     */
    List<Notice> newNotice();

    /**
     * 获取总数量
     * @param date
     * @return
     */
    Result getNoticeCount(String date);

    /**
     * 获取分页数据
     * @param date
     * @return
     */
    List<Notice> getNoticePage(NoticeVo noticeVo,String date);

    /**
     * 根据id获取公告并修改点击量
     * @param id
     * @return
     */
    Notice getNoticeAndUpdateVisit(Integer id);

}
